{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 26,
   "id": "7573adc1-9a7c-423f-904e-0cf780242571",
   "metadata": {},
   "outputs": [],
   "source": [
    "import nibabel as nib\n",
    "import numpy as np\n",
    "import glob\n",
    "import pandas as pd\n",
    "import os"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "id": "54a15139-670a-49cb-a45e-e022b294cc09",
   "metadata": {},
   "outputs": [],
   "source": [
    "ground_truth_filenames = glob.glob(\"./preprocessed/*/*/*.nii.gz\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "id": "5c459dfd-fb5f-427e-988d-a38cfe917b77",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "77"
      ]
     },
     "execution_count": 5,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "len(ground_truth_filenames)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 59,
   "id": "c358156e-d108-4999-a9d0-bdc7173aa59b",
   "metadata": {},
   "outputs": [],
   "source": [
    "stats = list()\n",
    "for filename in sorted(ground_truth_filenames):\n",
    "    image = nib.load(filename)\n",
    "    zooms = image.header.get_zooms()\n",
    "    data = np.asarray(image.dataobj)\n",
    "    values = np.unique(data)\n",
    "    n_voxels = np.sum(data > 0)\n",
    "    tumor_size = n_voxels * zooms[0] * zooms[1] * zooms[2]\n",
    "    subject, visit = filename.split(\"/\")[-3:-1]\n",
    "    filenames = sorted(glob.glob(os.path.join(\"train\", subject, visit, f\"*.nii*\")))\n",
    "    n_features = len(filenames) \n",
    "    feature_modalities = [\"_\".join(fn.split(\"_\")[3:-1]) for fn in filenames]\n",
    "    t1_filename = filenames[feature_modalities.index(\"T1_gd\")]\n",
    "    t1_image = nib.load(t1_filename)\n",
    "    t1_data = np.asarray(t1_image.dataobj)\n",
    "    stats.append([subject, visit, n_features, feature_modalities, data.shape, *[\"{:.2f}\".format(z) for z in zooms], \n",
    "                  t1_data.max(), t1_data.min(), values.tolist(), n_voxels, tumor_size])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 60,
   "id": "f1fd49a1-a891-4cac-8298-931fe2429826",
   "metadata": {},
   "outputs": [],
   "source": [
    "df = pd.DataFrame(stats, columns=[\"Subject\", \"Visit\", \"NumberOfFeatureImages\", \"FeatureModalities\", \"Size\", \"Spacingx\", \"Spacingy\", \"Spacingz\", \"T1wMax\", \"T1wMin\", \"Labels\", \"Voxels\", \"TumorSize\"])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 51,
   "id": "07f1288e-da8f-4137-8045-71a7538df2f8",
   "metadata": {},
   "outputs": [],
   "source": [
    "df.to_csv(\"dataset_stats.csv\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 33,
   "id": "f8a15cae-e613-48d2-90b9-d054a7b82695",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "['DWI', 'b0']"
      ]
     },
     "execution_count": 33,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "filenames[0].split(\"_\")[3:-1]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 57,
   "id": "6ff13637-6133-455e-bde7-397e38abdad0",
   "metadata": {},
   "outputs": [],
   "source": [
    "from matplotlib import pyplot as plt"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 58,
   "id": "53abc8c1-a1d8-4529-9792-cdc073f67b9e",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(array([ 3.,  0.,  0.,  0.,  0.,  2.,  0.,  0.,  0., 72.]),\n",
       " array([3. , 3.2, 3.4, 3.6, 3.8, 4. , 4.2, 4.4, 4.6, 4.8, 5. ]),\n",
       " <BarContainer object of 10 artists>)"
      ]
     },
     "execution_count": 58,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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JSWFjaWmpka7rDAOh6PH/lBJPb8/qef3SH/219N7pD/764oeL3bF45So33CamJio/Px8VVdXh8ba29tVXV0tj8cT7ZcDAAA20yV/diktLdWsWbM0ZswYXX/99VqyZIlaW1t17733dsXLAQAAG+mS8DFt2jT94x//0IIFC+T1evWd73xHmzZtOusmVNOSkpK0cOHCs/7M01P09P6knt8j/dlfT++R/uwvFnqMsy7lPTEAAABRwne7AAAAowgfAADAKMIHAAAwivABAACMsm34WLFihfLy8kIfkuLxePTOO+9c8Dlr165Vbm6ukpOTNXLkSP3xj38M229ZlhYsWKBBgwapT58+Kiws1IEDB7qyjfOKtL+XX35ZN910k/r376/+/fursLBQO3bsCJtzzz33KC4uLmy77bbburqVc4q0v1WrVp1Ve3JycticWDp/UuQ93nLLLWf1GBcXp0mTJoXmxNI5PFNFRYXi4uI0d+7cC86z0zo83aX0Z7d1eLpL6c+O6/B0l9Kj3dbhk08+eVYtubm5F3xOLKxB24aPwYMHq6KiQnV1ddq1a5fGjx+vyZMna//+/eec/9FHH2nGjBmaPXu2/vKXv2jKlCmaMmWK9u3bF5rzzDPPaOnSpVq5cqW2b9+uvn37qqioSG1tbabaCom0v61bt2rGjBl6//33VVtbq8zMTN1666368ssvw+bddtttOnz4cGh7/fXXTbRzlkj7k775NL7Ta//888/D9sfS+ZMi7/Gtt94K62/fvn3q3bu37rzzzrB5sXIOT7dz5069+OKLysvLu+A8u63DUy61P7utw1MutT/JfuvwlEvt0Y7r8Oqrrw6r5YMPPjjv3JhZg1YP0r9/f+vXv/71Offddddd1qRJk8LGCgoKrB//+MeWZVlWe3u75Xa7rWeffTa0v6WlxUpKSrJef/31ris6Ahfq70z//e9/rZSUFOvVV18Njc2aNcuaPHlyF1XXeRfqr6qqynI6ned9rh3On2VFdg4XL15spaSkWMeOHQuNxeI5PHr0qDV06FBry5Yt1s0332w9/PDD551rx3UYSX9nssM6jKQ/u67DzpzDWF+HCxcutEaNGnXJ82NlDdr2ysfpTp48qTVr1qi1tfW8H+FeW1urwsLCsLGioiLV1tZKkhoaGuT1esPmOJ1OFRQUhOZ0l0vp70xff/21Tpw4obS0tLDxrVu3auDAgRo2bJgefPBBffXVV11RckQutb9jx44pOztbmZmZZ11BiOXzJ3XsHFZWVmr69Onq27dv2HisncOSkhJNmjTprPV1LnZch5H0dyY7rMNI+7PjOuzMObTDOjxw4IAyMjJ0+eWXa+bMmWpsbDzv3FhZg93+rbadsXfvXnk8HrW1talfv35at26dRowYcc65Xq/3rE9Ydblc8nq9of2nxs43x7RI+jvTY489poyMjLAfoNtuu01Tp05VTk6ODh06pJ/97GeaOHGiamtr1bt3765q47wi6W/YsGF65ZVXlJeXJ7/fr+eee0433HCD9u/fr8GDB8fk+ZM6fg537Nihffv2qbKyMmw81s7hmjVrtHv3bu3cufOS5tttHUba35lifR1G2p8d12FnzqEd1mFBQYFWrVqlYcOG6fDhw1q0aJFuuukm7du3TykpKWfNj5U1aOvwMWzYMO3Zs0d+v19vvvmmZs2apZqamkv+BR3rOtpfRUWF1qxZo61bt4bdDDZ9+vTQv0eOHKm8vDxdccUV2rp1qyZMmNBlfZxPJP15PJ6wKwY33HCDhg8frhdffFFPPfWUybIj0tFzWFlZqZEjR+r6668PG4+lc9jU1KSHH35YW7ZsOeumw56gs/3F+jrsSH92W4edPYd2WIcTJ04M/TsvL08FBQXKzs7WG2+8odmzZxutJRK2/rNLYmKirrzySuXn56u8vFyjRo3SCy+8cM65brdbPp8vbMzn88ntdof2nxo73xzTIunvlOeee04VFRV69913L3pj1eWXX67LLrtMBw8ejGbZl6wj/Z2SkJCga6+9NlR7LJ4/qWM9tra2as2aNZf0P47uPId1dXU6cuSIRo8erfj4eMXHx6umpkZLly5VfHy8Tp48edZz7LQOO9LfKXZYh53p75RYX4ed6dEu6/BMqampuuqqq85bS6ysQVuHjzO1t7crGAyec5/H41F1dXXY2JYtW0IpPicnR263O2xOIBDQ9u3bL/lv9F3tQv1J39yh/NRTT2nTpk0aM2bMRY/3xRdf6KuvvtKgQYOiWWaHXay/0508eVJ79+4N1W6H8yddWo9r165VMBjU3XfffdHjdec5nDBhgvbu3as9e/aEtjFjxmjmzJnas2fPOS8/22kddqQ/yT7rsKP9nS7W12FnerTLOjzTsWPHdOjQofPWEjNrMGq3rho2f/58q6amxmpoaLA+/vhja/78+VZcXJz17rvvWpZlWT/84Q+t+fPnh+Z/+OGHVnx8vPXcc89Zf/3rX62FCxdaCQkJ1t69e0NzKioqrNTUVOvtt9+2Pv74Y2vy5MlWTk6O9Z///Cfm+6uoqLASExOtN9980zp8+HBoO3r0qGVZ39zt/cgjj1i1tbVWQ0OD9d5771mjR4+2hg4darW1tcV8f4sWLbI2b95sHTp0yKqrq7OmT59uJScnW/v37w/NiaXzZ1mR93jKuHHjrGnTpp01Hmvn8FzOfCeB3dfhmS7Wn93W4Zku1p8d1+GZLtbjKXZZhz/96U+trVu3Wg0NDdaHH35oFRYWWpdddpl15MgRy7Jidw3aNnzcd999VnZ2tpWYmGgNGDDAmjBhQuh/6pb1zQ/YrFmzwp7zxhtvWFdddZWVmJhoXX311dbGjRvD9re3t1tPPPGE5XK5rKSkJGvChAlWfX29iXbOEml/2dnZlqSztoULF1qWZVlff/21deutt1oDBgywEhISrOzsbOv++++3vF6v4c6+EWl/c+fOtbKysqzExETL5XJZP/jBD6zdu3eHHTOWzp9ldexn9NNPP7Ukhc07JdbO4bmc+T92u6/DM12sP7utwzNdrD87rsMzXcrPqJ3W4bRp06xBgwZZiYmJ1re//W1r2rRp1sGDB0P7Y3UNxlmWZUXvOgoAAMCF9ah7PgAAQOwjfAAAAKMIHwAAwCjCBwAAMIrwAQAAjCJ8AAAAowgfAADAKMIHAAAwivABAACMInwAAACjCB8AAMAowgcAADDq/wD92areoi4lYgAAAABJRU5ErkJggg==",
      "text/plain": [
       "<Figure size 640x480 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.hist(df[\"NumberOfFeatureImages\"])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 61,
   "id": "bdace2e6-d4cf-4459-9f0d-ca62555bc12b",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(array([69.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  8.]),\n",
       " array([0. , 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1. ]),\n",
       " <BarContainer object of 10 artists>)"
      ]
     },
     "execution_count": 61,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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0km55ZZb0t/fn0cffTTnn39+Lr744vzbv/1bkmTNmjW57777snnz5mzbti179uzJypUrJ2VwAGBqaqhWq9XDOcH8+fPzR3/0R7n00ktz3HHHZdOmTbn00kuTJE899VROPfXU9PX15ZxzznlD5xseHk6lUsnQ0FCampoOZ7RDWvypb034OSfb92+58EiPAACvq57r97jv+XjllVdyzz33ZN++fWlra0t/f38OHjyY9vb22jFLly7NokWL0tfX95rnGRkZyfDw8JgNADh61R0f3/3udzNnzpw0Njbmmmuuyb333pvTTjstAwMDmTlzZubNmzfm+Obm5gwMDLzm+Xp6elKpVGpba2tr3T8EADB11B0fb3/72/P4449nx44d+fjHP55Vq1blySefHPcA3d3dGRoaqm27d+8e97kAgDe/6fU+YebMmfmlX/qlJMmyZcvyyCOP5Lbbbsvll1+eAwcOZO/evWPe/RgcHExLS8trnq+xsTGNjY31Tw4ATEmH/T0fo6OjGRkZybJlyzJjxoz09vbW9u3cuTO7du1KW1vb4b4MAHCUqOudj+7u7lxwwQVZtGhRXnrppWzatCn/+I//mPvvvz+VSiWrV69OV1dX5s+fn6amplx33XVpa2t7w590AQCOfnXFx4svvpgPf/jDeeGFF1KpVHL66afn/vvvz2/8xm8kSdauXZtp06alo6MjIyMjWbFiRe64445JGRwAmJoO+3s+Jprv+Xg13/MBwJtdke/5AAAYD/EBABQlPgCAosQHAFCU+AAAihIfAEBR4gMAKEp8AABFiQ8AoCjxAQAUJT4AgKLEBwBQlPgAAIoSHwBAUeIDAChKfAAARYkPAKAo8QEAFCU+AICixAcAUJT4AACKEh8AQFHiAwAoSnwAAEWJDwCgKPEBABQlPgCAosQHAFCU+AAAihIfAEBR4gMAKEp8AABFiQ8AoCjxAQAUJT4AgKLEBwBQlPgAAIoSHwBAUeIDAChKfAAARdUVHz09PXnve9+buXPn5vjjj88ll1ySnTt3jjlm//796ezszIIFCzJnzpx0dHRkcHBwQocGAKauuuJj27Zt6ezszPbt2/PAAw/k4MGD+c3f/M3s27evdsyaNWty3333ZfPmzdm2bVv27NmTlStXTvjgAMDUNL2eg7du3Trm8d13353jjz8+/f39+bVf+7UMDQ1lw4YN2bRp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osQHAFDUlI6P9evXZ/HixZk1a1aWL1+ehx9++DWPPXjwYD73uc/lF3/xFzNr1qycccYZ2bp165hjHnzwwVx00UVZuHBhGhoasmXLlkn+CQDg8NRzLXzf+96XhoaGV20XXnjhIY+/5ppr0tDQkHXr1k3ozFM2Pr7+9a+nq6srN998cx577LGcccYZWbFiRV588cVDHn/jjTfmy1/+cv7kT/4kTz75ZK655pr89m//dv7lX/6ldsy+fftyxhlnZP369aV+DAAYt3qvhd/4xjfywgsv1LYnnngixxxzTC677LJXHXvvvfdm+/btb+jr0utWnaLOPvvsamdnZ+3xK6+8Ul24cGG1p6fnkMefcMIJ1T/90z8ds7Zy5crqlVdeecjjk1TvvffeCZsXACZavdfCn7Z27drq3Llzqy+//PKY9R/84AfVE088sfrEE09UTz755OratWsncuzqlHzn48CBA+nv7097e3ttbdq0aWlvb09fX98hnzMyMpJZs2aNWZs9e3YeeuihSZ0VACbDeK6FP23Dhg254oorcuyxx9bWRkdH86EPfSif/OQn8453vGPC506m6K9dfvSjH+WVV1551TemNjc3Z2Bg4JDPWbFiRW699dY8/fTTGR0dzQMPPFB7+wkApprxXAt/0sMPP5wnnngiv/u7vztm/Ytf/GKmT5+eT3ziExM670+akvExHrfddltOOeWULF26NDNnzsy1116bq666KtOm/dz8FwBAzYYNG/Kud70rZ599dm2tv78/t912W+6+++40NDRM2mtPySvvW9/61hxzzDEZHBwcsz44OJiWlpZDPue4447Lli1bsm/fvjz33HN56qmnMmfOnLztbW8rMTIATKjxXAt/bN++fbnnnnuyevXqMev/9E//lBdffDGLFi3K9OnTM3369Dz33HP5/d///SxevHjCZp+S8TFz5swsW7Ysvb29tbXR0dH09vamra3tdZ87a9asnHjiifmf//mf/M3f/E0uvvjiyR4XACbc4VwLN2/enJGRkXzwgx8cs/6hD30o//qv/5rHH3+8ti1cuDCf/OQnc//990/Y7JPyV21L6OrqyqpVq3LWWWfl7LPPzrp167Jv375cddVVSZIPf/jDOfHEE9PT05Mk2bFjR55//vmceeaZef755/OZz3wmo6OjueGGG2rnfPnll/PMM8/UHj/77LN5/PHHM3/+/CxatKjsDwgAP0O918If27BhQy655JIsWLBgzPqCBQtetTZjxoy0tLTk7W9/+4TNPWXj4/LLL88Pf/jD3HTTTRkYGMiZZ56ZrVu31m682bVr15j7Ofbv358bb7wx3/ve9zJnzpz81m/9Vv7iL/4i8+bNqx3z6KOP5v3vf3/tcVdXV5Jk1apVufvuu4v8XADwRtV7LUySnTt35qGHHsrf//3fH4mRkyQN1Wq1esReHQD4uTMl7/kAAKYu8QEAFCU+AICixAcAUJT4AACKEh8AQFHiAwAoSnwAAEWJDwCgKPEBABQlPgCAosQHAFDU/wdBybSife6+MgAAAABJRU5ErkJggg==",
      "text/plain": [
       "<Figure size 640x480 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.hist(df[\"Spacingx\"])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 62,
   "id": "4c4aaee7-408d-43c2-bdfd-e1589437be40",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(array([69.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  8.]),\n",
       " array([0. , 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1. ]),\n",
       " <BarContainer object of 10 artists>)"
      ]
     },
     "execution_count": 62,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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0km55ZZb0t/fn0cffTTnn39+Lr744vzbv/1bkmTNmjW57777snnz5mzbti179uzJypUrJ2VwAGBqaqhWq9XDOcH8+fPzR3/0R7n00ktz3HHHZdOmTbn00kuTJE899VROPfXU9PX15ZxzznlD5xseHk6lUsnQ0FCampoOZ7RDWvypb034OSfb92+58EiPAACvq57r97jv+XjllVdyzz33ZN++fWlra0t/f38OHjyY9vb22jFLly7NokWL0tfX95rnGRkZyfDw8JgNADh61R0f3/3udzNnzpw0Njbmmmuuyb333pvTTjstAwMDmTlzZubNmzfm+Obm5gwMDLzm+Xp6elKpVGpba2tr3T8EADB11B0fb3/72/P4449nx44d+fjHP55Vq1blySefHPcA3d3dGRoaqm27d+8e97kAgDe/6fU+YebMmfmlX/qlJMmyZcvyyCOP5Lbbbsvll1+eAwcOZO/evWPe/RgcHExLS8trnq+xsTGNjY31Tw4ATEmH/T0fo6OjGRkZybJlyzJjxoz09vbW9u3cuTO7du1KW1vb4b4MAHCUqOudj+7u7lxwwQVZtGhRXnrppWzatCn/+I//mPvvvz+VSiWrV69OV1dX5s+fn6amplx33XVpa2t7w590AQCOfnXFx4svvpgPf/jDeeGFF1KpVHL66afn/vvvz2/8xm8kSdauXZtp06alo6MjIyMjWbFiRe64445JGRwAmJoO+3s+Jprv+Xg13/MBwJtdke/5AAAYD/EBABQlPgCAosQHAFCU+AAAihIfAEBR4gMAKEp8AABFiQ8AoCjxAQAUJT4AgKLEBwBQlPgAAIoSHwBAUeIDAChKfAAARYkPAKAo8QEAFCU+AICixAcAUJT4AACKEh8AQFHiAwAoSnwAAEWJDwCgKPEBABQlPgCAosQHAFCU+AAAihIfAEBR4gMAKEp8AABFiQ8AoCjxAQAUJT4AgKLEBwBQlPgAAIoSHwBAUeIDAChKfAAARdUVHz09PXnve9+buXPn5vjjj88ll1ySnTt3jjlm//796ezszIIFCzJnzpx0dHRkcHBwQocGAKauuuJj27Zt6ezszPbt2/PAAw/k4MGD+c3f/M3s27evdsyaNWty3333ZfPmzdm2bVv27NmTlStXTvjgAMDUNL2eg7du3Trm8d13353jjz8+/f39+bVf+7UMDQ1lw4YN2bRp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osQHAFDUlI6P9evXZ/HixZk1a1aWL1+ehx9++DWPPXjwYD73uc/lF3/xFzNr1qycccYZ2bp165hjHnzwwVx00UVZuHBhGhoasmXLlkn+CQDg8NRzLXzf+96XhoaGV20XXnjhIY+/5ppr0tDQkHXr1k3ozFM2Pr7+9a+nq6srN998cx577LGcccYZWbFiRV588cVDHn/jjTfmy1/+cv7kT/4kTz75ZK655pr89m//dv7lX/6ldsy+fftyxhlnZP369aV+DAAYt3qvhd/4xjfywgsv1LYnnngixxxzTC677LJXHXvvvfdm+/btb+jr0utWnaLOPvvsamdnZ+3xK6+8Ul24cGG1p6fnkMefcMIJ1T/90z8ds7Zy5crqlVdeecjjk1TvvffeCZsXACZavdfCn7Z27drq3Llzqy+//PKY9R/84AfVE088sfrEE09UTz755OratWsncuzqlHzn48CBA+nv7097e3ttbdq0aWlvb09fX98hnzMyMpJZs2aNWZs9e3YeeuihSZ0VACbDeK6FP23Dhg254oorcuyxx9bWRkdH86EPfSif/OQn8453vGPC506m6K9dfvSjH+WVV1551TemNjc3Z2Bg4JDPWbFiRW699dY8/fTTGR0dzQMPPFB7+wkApprxXAt/0sMPP5wnnngiv/u7vztm/Ytf/GKmT5+eT3ziExM670+akvExHrfddltOOeWULF26NDNnzsy1116bq666KtOm/dz8FwBAzYYNG/Kud70rZ599dm2tv78/t912W+6+++40NDRM2mtPySvvW9/61hxzzDEZHBwcsz44OJiWlpZDPue4447Lli1bsm/fvjz33HN56qmnMmfOnLztbW8rMTIATKjxXAt/bN++fbnnnnuyevXqMev/9E//lBdffDGLFi3K9OnTM3369Dz33HP5/d///SxevHjCZp+S8TFz5swsW7Ysvb29tbXR0dH09vamra3tdZ87a9asnHjiifmf//mf/M3f/E0uvvjiyR4XACbc4VwLN2/enJGRkXzwgx8cs/6hD30o//qv/5rHH3+8ti1cuDCf/OQnc//990/Y7JPyV21L6OrqyqpVq3LWWWfl7LPPzrp167Jv375cddVVSZIPf/jDOfHEE9PT05Mk2bFjR55//vmceeaZef755/OZz3wmo6OjueGGG2rnfPnll/PMM8/UHj/77LN5/PHHM3/+/CxatKjsDwgAP0O918If27BhQy655JIsWLBgzPqCBQtetTZjxoy0tLTk7W9/+4TNPWXj4/LLL88Pf/jD3HTTTRkYGMiZZ56ZrVu31m682bVr15j7Ofbv358bb7wx3/ve9zJnzpz81m/9Vv7iL/4i8+bNqx3z6KOP5v3vf3/tcVdXV5Jk1apVufvuu4v8XADwRtV7LUySnTt35qGHHsrf//3fH4mRkyQN1Wq1esReHQD4uTMl7/kAAKYu8QEAFCU+AICixAcAUJT4AACKEh8AQFHiAwAoSnwAAEWJDwCgKPEBABQlPgCAosQHAFDU/wdBybSife6+MgAAAABJRU5ErkJggg==",
      "text/plain": [
       "<Figure size 640x480 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.hist(df[\"Spacingy\"])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 63,
   "id": "1b36d064-efee-49b2-b636-aa4740ea908c",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(array([63.,  7.,  2.,  0.,  1.,  1.,  0.,  1.,  1.,  1.]),\n",
       " array([0. , 0.7, 1.4, 2.1, 2.8, 3.5, 4.2, 4.9, 5.6, 6.3, 7. ]),\n",
       " <BarContainer object of 10 artists>)"
      ]
     },
     "execution_count": 63,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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Tl8KCwsDO3wABOscCPbrIGzjo6mpSUOGDNGSJUv8elxtba2OHj3qXZKSktq9z1AIxvG/8cYbKioq0vz587V7924NGTJEeXl5OnbsWKDHD4hgPAcVFRUqLCxUVVWVPvjgA508eVK33HKLmpqaAj1+u/l7/B9//LGmTJmiadOmae/evVq7dq127Nih6dOnn7HtwYMH9fDDD+u6664L9NgB07t3by1cuFDV1dXatWuXxowZowkTJmjv3r2tbv/DDz/o0ksv1cKFC1v9bctSx38NdOvWTTNmzNDWrVv1r3/9S3PnztXcuXO1YsUK7zbff/+9cnJy1LVrV23cuFH79u3Tc889p549ewbrMNqlrf8PNDQ0aMqUKbrpppvOuG/nzp0+/0d88MEHkqTbbrstIDMHUjDOASOvA6sDkGStW7funNt8+OGHliTr+++/D9g+LxSBOv7hw4dbhYWF3tunTp2y0tLSrJKSkgBNGjzBOAcsy7KOHTtmSbIqKiraN2CQnc/xP/vss9all17qs27x4sXWJZdc4rPuf//7nzVq1CjrpZdesgoKCqwJEyYEeNrg6dmzp/XSSy/94nZ9+vSxFi1adMb6jv4aaM1vfvMb6+677/befuyxx6zRo0cHcDJz/HkO7rjjDmvu3LnW/PnzrSFDhpxz24ceesi67LLLrJaWlvYPGUSBOgdMvA7C9p2Ptrr66quVmpqqm2++WR9//HGoxzHubMd/4sQJVVdXKzc317suMjJSubm5qqysDMWoQePPOeByuSRJCQkJJkYLKofDobq6Ov3973+XZVlyOp1688039atf/cpnuz/84Q9KSkrStGnTQjSp/06dOqU1a9aoqampzX/GoTO9Bn7y6aef6pNPPtH111/vXffOO+9o2LBhuu2225SUlKShQ4dq5cqVIZwy8MrKyvT1119r/vz5v7jtiRMn9Nprr+nee+8N+B87vRCcfg6Yeh10mvhITU3V8uXL9dZbb+mtt95Senq6brjhBu3evTvUoxnxS8f/7bff6tSpU2f8Ftrk5OQzrgsJV/6eAy0tLZo1a5ZycnI0aNAgw9MGXk5Ojl5//XXdcccdio6OVkpKiux2u8/btdu2bdOqVavC5pvNnj171L17d8XExOj+++/XunXrNHDgwDbtqzO8Bn7Su3dvxcTEaNiwYSosLNTvf/97731ff/21li1bpn79+mnz5s164IEH9OCDD+qVV14J4cSBs3//fs2ZM0evvfaaoqJ++Zd8r1+/Xg0NDbrnnnuCP5xBZzsHTL0OgvLr1S9E/fv3V//+/b23R40apa+++kqLFi3SX/7ylxBOZkZnP37J/+egsLBQn332mbZt22ZyzKDZt2+fHnroIc2bN095eXk6evSoHnnkEd1///1atWqVGhsb9bvf/U4rV67UxRdfHOpxz0v//v1VU1Mjl8ulN998UwUFBaqoqGhzgHQW//znP3X8+HFVVVVpzpw5uvzyy3XXXXdJ+jG6hw0bpgULFkiShg4dqs8++0zLly9XQUFBKMdut1OnTum3v/2tnnzySV1xxRXn9ZhVq1Zp7Nix5/Vn4sPJuc4BEzpNfLRm+PDhHeYbS1v8/PgvvvhidenSRU6n02cbp9N51ovzOoKznQMzZszQu+++q61bt6p3794hmCzwSkpKlJOTo0ceeUSSNHjwYHXr1k3XXXednnrqKTmdTh08eFDjx4/3PqalpUWSFBUVpdraWl122WUhmf1soqOjdfnll0uSsrOztXPnTr3wwgt68cUX/d5XZ3oNZGZmSpKuuuoqOZ1OPfHEE95vPKmpqWfE24ABA/TWW28ZnzPQGhsbtWvXLn366aeaMWOGpB/PccuyFBUVpffff19jxozxbv/vf/9b//jHP/S3v/0tVCMHzdnOAVOvg07zY5fW1NTUKDU1NdRjhMzPjz86OlrZ2dkqLy/33t/S0qLy8vI2/ww9HJx+DliWpRkzZmjdunXasmWL9wXaEfzwww+KjPR9yXfp0kXSj8edlZWlPXv2qKamxrv8+te/1o033qiamhqlp6eHYmy/tLS0yOPxtOmxnfU1cPpzlpOTc8bHy7/44gv16dPH9GgBZ7PZzjjH77//fu87aCNGjPDZvqysTElJSRo3blyIJjbj5+eAqddB2L7zcfz4cX355Zfe2wcOHFBNTY0SEhKUkZGh4uJiHT58WK+++qokqbS0VJmZmbryyivV3Nysl156SVu2bNH7779/3vu8kATj+IuKilRQUKBhw4Zp+PDhKi0tVVNTk6ZOnWr8+M5HMJ6DwsJCrV69Wm+//bbi4+O9P+O02+2Ki4sze4C/wN/jHz9+vKZPn65ly5Z5f+wya9YsDR8+3PuW8unXtvTo0aPV9ReC4uJijR07VhkZGWpsbNTq1av10UcfafPmzZKkKVOm6JJLLlFJSYmkHy+k27dvn/ffhw8fVk1Njbp37+5996SjvwaWLFmijIwMZWVlSfrxd0T88Y9/1IMPPujdx+zZszVq1CgtWLBAt99+u3bs2KEVK1b4fBTzQuLPcxAZGXnGuZyUlKTY2Ngz1re0tKisrEwFBQXndW1IqATjHDDyOgjY52YM++ljk6cvBQUFlmVZVkFBgXX99dd7t3/66aetyy67zIqNjbUSEhKsG264wdqyZYtf+7yQBOP4Lcuy/vSnP1kZGRlWdHS0NXz4cKuqqsrQEfkvGM9Ba/uTZJWVlZk7sPPk7/Fb1o8frR04cKAVFxdnpaamWpMnT7a++eabs36NC/mjtvfee6/Vp08fKzo62urVq5d10003We+//773/uuvv97ntXvgwIFWn6/Tn6OO/BpYvHixdeWVV1oXXXSRZbPZrKFDh1pLly61Tp065bPfDRs2WIMGDbJiYmKsrKwsa8WKFQaPyj9teR383Nk+art582ZLklVbWxucwQMkWOdAsF8HEZZlWYFLGQAAgHPr1Nd8AAAA84gPAABgFPEBAACMIj4AAIBRxAcAADCK+AAAAEYRHwAAwCjiAwAAGEV8AAAAo4gPAABgFPEBAACMIj4AAIBR/w8HpNqzrkJTgAAAAABJRU5ErkJggg==",
      "text/plain": [
       "<Figure size 640x480 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.hist(df[\"Spacingz\"])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 23,
   "id": "e2021f87-6397-4bfa-a786-5dc9a72f9f10",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>Subject</th>\n",
       "      <th>Visit</th>\n",
       "      <th>Spacing</th>\n",
       "      <th>Values</th>\n",
       "      <th>Voxels</th>\n",
       "      <th>Size</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>60</th>\n",
       "      <td>PT_39</td>\n",
       "      <td>20190522</td>\n",
       "      <td>(0.9114583, 0.91145825, 1.5095383)</td>\n",
       "      <td>[0, 1]</td>\n",
       "      <td>1771</td>\n",
       "      <td>2220.93725</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "   Subject     Visit                             Spacing  Values  Voxels  \\\n",
       "60   PT_39  20190522  (0.9114583, 0.91145825, 1.5095383)  [0, 1]    1771   \n",
       "\n",
       "          Size  \n",
       "60  2220.93725  "
      ]
     },
     "execution_count": 23,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df[df.Subject == \"PT_39\"]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 24,
   "id": "12d455a4-3ac9-466d-8547-f2cc1314f86c",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>Subject</th>\n",
       "      <th>Visit</th>\n",
       "      <th>Spacing</th>\n",
       "      <th>Values</th>\n",
       "      <th>Voxels</th>\n",
       "      <th>Size</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>21</th>\n",
       "      <td>PT_38</td>\n",
       "      <td>20220408</td>\n",
       "      <td>(0.9114583, 0.9114583, 1.5095673)</td>\n",
       "      <td>[0, 1]</td>\n",
       "      <td>17947</td>\n",
       "      <td>22507.017685</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>22</th>\n",
       "      <td>PT_38</td>\n",
       "      <td>20211230</td>\n",
       "      <td>(0.9114583, 0.9114583, 1.5095559)</td>\n",
       "      <td>[0, 1]</td>\n",
       "      <td>16288</td>\n",
       "      <td>20426.341664</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "   Subject     Visit                            Spacing  Values  Voxels  \\\n",
       "21   PT_38  20220408  (0.9114583, 0.9114583, 1.5095673)  [0, 1]   17947   \n",
       "22   PT_38  20211230  (0.9114583, 0.9114583, 1.5095559)  [0, 1]   16288   \n",
       "\n",
       "            Size  \n",
       "21  22507.017685  \n",
       "22  20426.341664  "
      ]
     },
     "execution_count": 24,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df[df.Subject == \"PT_38\"]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 64,
   "id": "cd959846-8b52-4c1c-8eba-f53d927cd327",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>Subject</th>\n",
       "      <th>Visit</th>\n",
       "      <th>NumberOfFeatureImages</th>\n",
       "      <th>FeatureModalities</th>\n",
       "      <th>Size</th>\n",
       "      <th>Spacingx</th>\n",
       "      <th>Spacingy</th>\n",
       "      <th>Spacingz</th>\n",
       "      <th>T1wMax</th>\n",
       "      <th>T1wMin</th>\n",
       "      <th>Labels</th>\n",
       "      <th>Voxels</th>\n",
       "      <th>TumorSize</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>PT_06</td>\n",
       "      <td>20180628</td>\n",
       "      <td>5</td>\n",
       "      <td>[DWI_b0, DWI_b100, NB, T1_gd, T2]</td>\n",
       "      <td>(384, 384, 199)</td>\n",
       "      <td>0.91</td>\n",
       "      <td>0.91</td>\n",
       "      <td>1.51</td>\n",
       "      <td>1582</td>\n",
       "      <td>0</td>\n",
       "      <td>[0, 1]</td>\n",
       "      <td>31306</td>\n",
       "      <td>3.925983e+04</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>PT_07</td>\n",
       "      <td>20180801</td>\n",
       "      <td>5</td>\n",
       "      <td>[DWI_b0, DWI_b100, T1_gd, T2, NB]</td>\n",
       "      <td>(336, 336, 255)</td>\n",
       "      <td>0.74</td>\n",
       "      <td>0.74</td>\n",
       "      <td>1.50</td>\n",
       "      <td>1730</td>\n",
       "      <td>0</td>\n",
       "      <td>[0, 1]</td>\n",
       "      <td>1158178</td>\n",
       "      <td>9.617655e+05</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>PT_07</td>\n",
       "      <td>20181109</td>\n",
       "      <td>5</td>\n",
       "      <td>[DWI_b0, DWI_b100, NB, T1_gd, T2]</td>\n",
       "      <td>(336, 336, 270)</td>\n",
       "      <td>0.74</td>\n",
       "      <td>0.74</td>\n",
       "      <td>1.50</td>\n",
       "      <td>1307</td>\n",
       "      <td>0</td>\n",
       "      <td>[0, 1]</td>\n",
       "      <td>1504984</td>\n",
       "      <td>1.249745e+06</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>PT_10</td>\n",
       "      <td>20180815</td>\n",
       "      <td>5</td>\n",
       "      <td>[DWI_b0, DWI_b100, NB, T1_gd, T2]</td>\n",
       "      <td>(336, 336, 255)</td>\n",
       "      <td>0.74</td>\n",
       "      <td>0.74</td>\n",
       "      <td>1.52</td>\n",
       "      <td>2177</td>\n",
       "      <td>0</td>\n",
       "      <td>[0, 1]</td>\n",
       "      <td>25636</td>\n",
       "      <td>2.156777e+04</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>PT_10</td>\n",
       "      <td>20190911</td>\n",
       "      <td>3</td>\n",
       "      <td>[NB, T1_gd, T2]</td>\n",
       "      <td>(384, 384, 264)</td>\n",
       "      <td>0.91</td>\n",
       "      <td>0.91</td>\n",
       "      <td>1.51</td>\n",
       "      <td>1588</td>\n",
       "      <td>0</td>\n",
       "      <td>[0, 1]</td>\n",
       "      <td>2035</td>\n",
       "      <td>2.552084e+03</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>...</th>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>72</th>\n",
       "      <td>PT_86</td>\n",
       "      <td>20201008</td>\n",
       "      <td>5</td>\n",
       "      <td>[DWI_b0, DWI_b100, NB, T1_gd, T2]</td>\n",
       "      <td>(384, 384, 330)</td>\n",
       "      <td>0.91</td>\n",
       "      <td>0.91</td>\n",
       "      <td>1.51</td>\n",
       "      <td>1394</td>\n",
       "      <td>0</td>\n",
       "      <td>[0, 1]</td>\n",
       "      <td>903537</td>\n",
       "      <td>1.133104e+06</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>73</th>\n",
       "      <td>PT_86</td>\n",
       "      <td>20210903</td>\n",
       "      <td>5</td>\n",
       "      <td>[DWI_b0, DWI_b100, NB, T1_gd, T2]</td>\n",
       "      <td>(384, 384, 330)</td>\n",
       "      <td>0.91</td>\n",
       "      <td>0.91</td>\n",
       "      <td>1.51</td>\n",
       "      <td>1667</td>\n",
       "      <td>0</td>\n",
       "      <td>[0, 1]</td>\n",
       "      <td>54902</td>\n",
       "      <td>6.885094e+04</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>74</th>\n",
       "      <td>PT_86</td>\n",
       "      <td>20211029</td>\n",
       "      <td>5</td>\n",
       "      <td>[DWI_b0, DWI_b100, NB, T1_gd, T2]</td>\n",
       "      <td>(384, 384, 330)</td>\n",
       "      <td>0.91</td>\n",
       "      <td>0.91</td>\n",
       "      <td>1.51</td>\n",
       "      <td>1608</td>\n",
       "      <td>0</td>\n",
       "      <td>[0, 1]</td>\n",
       "      <td>8754</td>\n",
       "      <td>1.097811e+04</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>75</th>\n",
       "      <td>PT_88</td>\n",
       "      <td>20190501</td>\n",
       "      <td>5</td>\n",
       "      <td>[DWI_b0, DWI_b100, NB, T1_gd, T2]</td>\n",
       "      <td>(384, 384, 334)</td>\n",
       "      <td>0.91</td>\n",
       "      <td>0.91</td>\n",
       "      <td>1.51</td>\n",
       "      <td>1514</td>\n",
       "      <td>0</td>\n",
       "      <td>[0, 1]</td>\n",
       "      <td>40746</td>\n",
       "      <td>5.109828e+04</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>76</th>\n",
       "      <td>PT_92</td>\n",
       "      <td>20181026</td>\n",
       "      <td>5</td>\n",
       "      <td>[DWI_b0, DWI_b100, NB, T1_gd, T2]</td>\n",
       "      <td>(336, 336, 255)</td>\n",
       "      <td>0.74</td>\n",
       "      <td>0.74</td>\n",
       "      <td>1.50</td>\n",
       "      <td>1233</td>\n",
       "      <td>0</td>\n",
       "      <td>[0, 1]</td>\n",
       "      <td>16666</td>\n",
       "      <td>1.383962e+04</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>77 rows × 13 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "   Subject     Visit  NumberOfFeatureImages  \\\n",
       "0    PT_06  20180628                      5   \n",
       "1    PT_07  20180801                      5   \n",
       "2    PT_07  20181109                      5   \n",
       "3    PT_10  20180815                      5   \n",
       "4    PT_10  20190911                      3   \n",
       "..     ...       ...                    ...   \n",
       "72   PT_86  20201008                      5   \n",
       "73   PT_86  20210903                      5   \n",
       "74   PT_86  20211029                      5   \n",
       "75   PT_88  20190501                      5   \n",
       "76   PT_92  20181026                      5   \n",
       "\n",
       "                    FeatureModalities             Size Spacingx Spacingy  \\\n",
       "0   [DWI_b0, DWI_b100, NB, T1_gd, T2]  (384, 384, 199)     0.91     0.91   \n",
       "1   [DWI_b0, DWI_b100, T1_gd, T2, NB]  (336, 336, 255)     0.74     0.74   \n",
       "2   [DWI_b0, DWI_b100, NB, T1_gd, T2]  (336, 336, 270)     0.74     0.74   \n",
       "3   [DWI_b0, DWI_b100, NB, T1_gd, T2]  (336, 336, 255)     0.74     0.74   \n",
       "4                     [NB, T1_gd, T2]  (384, 384, 264)     0.91     0.91   \n",
       "..                                ...              ...      ...      ...   \n",
       "72  [DWI_b0, DWI_b100, NB, T1_gd, T2]  (384, 384, 330)     0.91     0.91   \n",
       "73  [DWI_b0, DWI_b100, NB, T1_gd, T2]  (384, 384, 330)     0.91     0.91   \n",
       "74  [DWI_b0, DWI_b100, NB, T1_gd, T2]  (384, 384, 330)     0.91     0.91   \n",
       "75  [DWI_b0, DWI_b100, NB, T1_gd, T2]  (384, 384, 334)     0.91     0.91   \n",
       "76  [DWI_b0, DWI_b100, NB, T1_gd, T2]  (336, 336, 255)     0.74     0.74   \n",
       "\n",
       "   Spacingz  T1wMax  T1wMin  Labels   Voxels     TumorSize  \n",
       "0      1.51    1582       0  [0, 1]    31306  3.925983e+04  \n",
       "1      1.50    1730       0  [0, 1]  1158178  9.617655e+05  \n",
       "2      1.50    1307       0  [0, 1]  1504984  1.249745e+06  \n",
       "3      1.52    2177       0  [0, 1]    25636  2.156777e+04  \n",
       "4      1.51    1588       0  [0, 1]     2035  2.552084e+03  \n",
       "..      ...     ...     ...     ...      ...           ...  \n",
       "72     1.51    1394       0  [0, 1]   903537  1.133104e+06  \n",
       "73     1.51    1667       0  [0, 1]    54902  6.885094e+04  \n",
       "74     1.51    1608       0  [0, 1]     8754  1.097811e+04  \n",
       "75     1.51    1514       0  [0, 1]    40746  5.109828e+04  \n",
       "76     1.50    1233       0  [0, 1]    16666  1.383962e+04  \n",
       "\n",
       "[77 rows x 13 columns]"
      ]
     },
     "execution_count": 64,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "b6b5843b-fda0-44ea-aeeb-c980e015ef01",
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python (brats)",
   "language": "python",
   "name": "brats"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.11.4"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}
